<!DOCTYPE html>
    <html>
    <head>
        <meta charset="UTF-8">
        <title>&#x670d;&#x52a1;&#x5668;&#x7684;&#x642d;&#x5efa;&#x4e0e;&#x914d;&#x7f6e;</title>
        <style>
/* From extension vscode.github */
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.vscode-dark img[src$=\#gh-light-mode-only],
.vscode-light img[src$=\#gh-dark-mode-only] {
	display: none;
}

</style>
        
        <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/Microsoft/vscode/extensions/markdown-language-features/media/markdown.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/Microsoft/vscode/extensions/markdown-language-features/media/highlight.css">
<style>
            body {
                font-family: -apple-system, BlinkMacSystemFont, 'Segoe WPC', 'Segoe UI', system-ui, 'Ubuntu', 'Droid Sans', sans-serif;
                font-size: 14px;
                line-height: 1.6;
            }
        </style>
        <style>
.task-list-item {
    list-style-type: none;
}

.task-list-item-checkbox {
    margin-left: -20px;
    vertical-align: middle;
    pointer-events: none;
}
</style>
        
    </head>
    <body class="vscode-body vscode-light">
        <h1 id="服务器的搭建与配置">服务器的搭建与配置</h1>
<p>​	在进行使用服务器进行部署我们的项目，这就需要我们先拥有一台属于自己的服务器。同时，在选择服务器的时间，我们可以从多个平台去选择服务器，这是因为，服务器是需要进行购买的很贵，但是去使用 <strong>新用户</strong> 就一样了。</p>
<h2 id="1服务器的配置">1.服务器的配置</h2>
<p>购买完成后		<strong>以购买轻量应用服务器为例</strong></p>
<p>：进入 <strong>控制台</strong> ：</p>
<p><img src="https://qinfeng-typora-img.oss-cn-chengdu.aliyuncs.com/img/202204151259418.png" alt="image-20220415125929241"></p>
<p>​	在进入控制台后，进行修改VNC登录的密码：就是我们的root用户的密码：</p>
<p><img src="https://qinfeng-typora-img.oss-cn-chengdu.aliyuncs.com/img/202204151302337.png" alt="image-20220415130234290"></p>
<p>点击重置密码：</p>
<p><img src="https://qinfeng-typora-img.oss-cn-chengdu.aliyuncs.com/img/202204151303586.png" alt="image-20220415130358544"></p>
<p><strong>防火墙</strong>：进行开放端口=&gt;</p>
<p><img src="https://qinfeng-typora-img.oss-cn-chengdu.aliyuncs.com/img/202204151308623.png" alt="image-20220415130846530"></p>
<p>在做完这些后，我们使用Xshell来操作服务器和进入宝塔页面</p>
<h2 id="2xshell来连接我服务器">2.<strong>Xshell来连接我服务器</strong>：</h2>
<p><img src="https://qinfeng-typora-img.oss-cn-chengdu.aliyuncs.com/img/202204151312467.png" alt="image-20220415131237428"></p>
<p>进来后会显示之前连接过的服务器我们需要进行新建会话来连接服务器：</p>
<p><img src="https://qinfeng-typora-img.oss-cn-chengdu.aliyuncs.com/img/202204151315604.png" alt="image-20220415131557543"></p>
<p>在设置完这些后，我们需要进行设置我们登录服务器的权限：</p>
<p><img src="https://qinfeng-typora-img.oss-cn-chengdu.aliyuncs.com/img/202204151318524.png" alt="image-20220415131809483"></p>
<p>完成这些就可以进行连接了：</p>
<p>然后就进入了我们的会话页面：</p>
<p><img src="https://qinfeng-typora-img.oss-cn-chengdu.aliyuncs.com/img/202204151320796.png" alt="image-20220415132003757"></p>
<h2 id="3宝塔的配置">3.宝塔的配置</h2>
<p><strong>进入宝塔</strong>：在黑窗输入bt=&gt;在功能选择上选择14，会给出我们的宝塔地址，以及需要登录宝塔的用户名和密码</p>
<p><img src="https://qinfeng-typora-img.oss-cn-chengdu.aliyuncs.com/img/202204151324956.png" alt="image-20220415132439899"></p>
<p>使用外网进入的宝塔登录页面：</p>
<p><img src="https://qinfeng-typora-img.oss-cn-chengdu.aliyuncs.com/img/202204151325452.png" alt="image-20220415132543418"></p>
<p>输入相应的用户名及密码登录，成功后进入宝塔页面：</p>
<p><img src="https://qinfeng-typora-img.oss-cn-chengdu.aliyuncs.com/img/202204151327423.png" alt="image-20220415132744325"></p>
<p>在进来后，我们需要在软件商店进行安装一些插件，便于我们部署项目，以及项目所需的资源：</p>
<p><img src="https://qinfeng-typora-img.oss-cn-chengdu.aliyuncs.com/img/202204151332615.png" alt="image-20220415133254575"></p>
<p>我们在首页使用Java项目一键部署：</p>
<p><img src="https://qinfeng-typora-img.oss-cn-chengdu.aliyuncs.com/img/202204151337705.png" alt="image-20220415133734665"></p>
<p>想部署mybatis；javaweb；spring 项目可以在web项目管理进行添加项目，但是当我们使用功能web项目管理时需要先把上传到服务器器上jar或war包（要是无法直接解压jar包，可以把jar包的后缀改成war或zip进行解压）进行解压：</p>
<p><img src="https://qinfeng-typora-img.oss-cn-chengdu.aliyuncs.com/img/202204151341690.png" alt="image-20220415134130645"></p>
<p>添加完后：</p>
<p><img src="https://qinfeng-typora-img.oss-cn-chengdu.aliyuncs.com/img/202204151342275.png" alt="image-20220415134244246"></p>
<p>我们自需要进行输入域名以及我们的端口号：124.221.254.150:81为例；</p>
<p><img src="https://qinfeng-typora-img.oss-cn-chengdu.aliyuncs.com/img/202204151347002.png" alt="image-20220415134744944"></p>
<p>完成后，我们需要进行映射，把项目进行映射到网站上，</p>
<p><img src="https://qinfeng-typora-img.oss-cn-chengdu.aliyuncs.com/img/202204151348110.png" alt="image-20220415134840078"></p>
<p>在提示映射完成后，我们可以在<strong>网站</strong>处看到详细的信息：</p>
<p><img src="https://qinfeng-typora-img.oss-cn-chengdu.aliyuncs.com/img/202204151353129.png" alt="image-20220415135313081"></p>
<p>但是我在部署项目的时候，我们还需要在<strong>安全</strong>中去放行我们的端口：</p>
<p><img src="https://qinfeng-typora-img.oss-cn-chengdu.aliyuncs.com/img/202204151356098.png" alt="image-20220415135633006"></p>
<p><img src="https://qinfeng-typora-img.oss-cn-chengdu.aliyuncs.com/img/202204151357120.png" alt="image-20220415135753088"></p>
<p>而我们项目中的连接的数据库，在部署到服务器时，需要去服务器上去运行，那样我们就需要在服务器上区创建项目需要用的数据库：</p>
<p><img src="https://qinfeng-typora-img.oss-cn-chengdu.aliyuncs.com/img/202204151402941.png" alt="image-20220415140212897"></p>
<p><img src="https://qinfeng-typora-img.oss-cn-chengdu.aliyuncs.com/img/202204151407124.png" alt="image-20220415140723654"></p>
<p>在Navicat中选择导出结构和数据后，进行导入：</p>
<p><img src="https://qinfeng-typora-img.oss-cn-chengdu.aliyuncs.com/img/202204151403177.png" alt="image-20220415140345148"></p>
<blockquote>
<p>注意由于我们服务器上的数据库root权限问题，我们项目中无法直接使用root用户，来进行查询我们的数据库中数据库，以及库下的表，这样就需要在项目中进行修改，</p>
<pre><code class="language-yml"><span class="hljs-attr">spring:</span>
<span class="hljs-attr">datasource:</span>
 <span class="hljs-attr">druid:</span>
   <span class="hljs-attr">driver-class-name:</span> <span class="hljs-string">com.mysql.cj.jdbc.Driver</span>
   <span class="hljs-comment"># 这里直接连接我们服务器上的数据库</span>
   <span class="hljs-attr">url:</span> <span class="hljs-string">jdbc:mysql://124.221.254.150:3306/sms?serverTimezone=UTC</span>
   <span class="hljs-comment"># 名称要改成和添加数据时一样的用户名和密码</span>
   <span class="hljs-attr">username:</span> <span class="hljs-string">sms</span>
   <span class="hljs-comment"># 同时要注意密码在SpringBoot中的要是以零开会帮我们自动识别成进制（2、8进制）进行转换</span>
   <span class="hljs-attr">password:</span> <span class="hljs-string">*****</span>
</code></pre>
<p>要是需要继续使用root用户需要去修改root的权限，开启远程连接</p>
</blockquote>
<h3 id="开启远程链接">（*）开启远程链接</h3>
<blockquote>
<p>进行开启远程连接：</p>
<p>在bt的终端下进行输入 <code>mysql -u root -p</code>下：</p>
<p><img src="https://qinfeng-typora-img.oss-cn-chengdu.aliyuncs.com/img/202204251642563.png" alt="image-20220425164212531"></p>
<p>在输入密码后输入：</p>
<p><code>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION;</code>可以去修改数据库中的root的权限，开启远程链接。</p>
<p>注意：密码是你数据库root密码：</p>
<p><img src="https://qinfeng-typora-img.oss-cn-chengdu.aliyuncs.com/img/202204251650708.png" alt="image-20220425165001682"></p>
<p>注以这的密码在设置比较简单的情况下可以会造成不必要的问题</p>
</blockquote>
<p><strong>文件</strong>  要是我们需要观看上传的项目位置，需要在文件中去查看（建议项目存放到/www/wwwroot/wwwapp中便于查找），同时当我们需要进行上传项目时：</p>
<p><img src="https://qinfeng-typora-img.oss-cn-chengdu.aliyuncs.com/img/202204151420444.png" alt="image-20220415142003412"></p>
<p><img src="https://qinfeng-typora-img.oss-cn-chengdu.aliyuncs.com/img/202204151421597.png" alt="image-20220415142100552"></p>
<p>我们还可以使用xftp进行连接服务器，点击确定，后进行连接；</p>
<p><img src="https://qinfeng-typora-img.oss-cn-chengdu.aliyuncs.com/img/202204151426666.png" alt="image-20220415142616586"></p>
<p>在连接成功后，我们进入服务器需要存放项目的目录下：</p>
<img src="https://qinfeng-typora-img.oss-cn-chengdu.aliyuncs.com/img/202204151430024.png" alt="image-20220415143030954"  />
<blockquote>
<p>其中当我们下载我们所需的插件后，但是在进行部署项目后，不能刚把项目成功的跑起来：</p>
<ol>
<li>
<p>可以查看数据库是否进行修改，数据库是否导入到服务器</p>
</li>
<li>
<p>查看端口是否开启，端口是否被占用；（可以到服务器那边进行重启可以解决80%的端口问题，要是还是不行需要在服务器的终端进行使用命令进行关闭。可以到<strong>SpringBoot项目打包</strong>中查看命令）</p>
</li>
<li>
<p>在后面没有发现错误后，还是无法运行项目，可以考虑一下，我们在下载软件中可能出现错误，可以重新的下载</p>
</li>
</ol>
</blockquote>

        
        
    </body>
    </html>